package com.cy.Service;


import Pojo.Node;
import com.cy.pojo.SysMenu;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface SysMenusService {
    /**查询所有的菜单信息，包含菜单对应的上级菜单名称
     * @return  查询到的所有菜单信息列表
     * */
    List<SysMenu> selectMenus();
    /**查询菜单树节点信息（菜单id，菜单名称，菜单上级id）
     * @return
     * */
    @Select("select id,name,parentId from sys_menus")
    List<Node> selectMenuTreeNodes();
    /**新增一条菜单信息
     * @参数 menu封装了菜单的信息对象
     * @返回值 表示新增行数
     * 新增对象的过程我们称为持久化，将内存中的对象存储到数据库进行持久存储我们称为持久化
     * ORM：对象关系映射（对象和表之间的关系映射）
     * */
    int insertMenu(SysMenu Menu);

    /**基于菜单id查询菜单信息
     * @参数 id菜单id
     * @返回值 菜单记录信息
     * @return*/
    SysMenu selectById(Integer id);
    /**更新菜单信息
     * @参数 menu
     * @返回值 更新行数
     * */
    int updateMenu(SysMenu menu);
}
